Elastic Stack 6 : Install Auditbeat
2018/02/12 |
Install Auditbeat that can monitor Audit actions.
|
|
[1] | Install Auditbeat. Configure Elasticsearch repository before it. |
[root@dlp ~]# yum -y install auditbeat
|
[2] | Configure basic settings and start Auditbeat. |
[root@dlp ~]#
vi /etc/auditbeat/auditbeat.yml # line 13: set Audit action (way of writing rules is the same with auditctl) - module: auditd audit_rules: | ## Define audit rules here. ## Create file watches (-w) or syscall audits (-a or -A). Uncomment these ## examples or add your own rules. ## If you are on a 64 bit platform, everything should be running ## in 64 bit mode. This rule will detect any use of the 32 bit syscalls ## because this might be a sign of someone exploiting a hole in the 32 ## bit API. #-a always,exit -F arch=b32 -S all -F key=32bit-abi ## Executions. #-a always,exit -F arch=b64 -S execve,execveat -k exec ## External access (warning: these can be expensive to audit). #-a always,exit -F arch=b64 -S accept,bind,connect -F key=external-access ## Identity changes. #-w /etc/group -p wa -k identity #-w /etc/passwd -p wa -k identity #-w /etc/gshadow -p wa -k identity ..... ..... # line 88: if use Kibana, uncomment and specify output host # if SSL is enabled on Kibana, hostname should be the same with the hostname in certs
setup.kibana:
.....
host: "https://dlp.srv.world:5601"
# line 114: specify output host # the default is localhost's Elasticsearch # if output to Logstash, comment out Elasticsearch and uncomment logstash lines output.elasticsearch: # Array of hosts to connect to.l hosts: ["localhost:9200"] ..... ..... #output.logstash: # The Logstash hosts #hosts: ["localhost:5044"]
[root@dlp ~]#
vi /etc/auditbeat/auditbeat.reference.yml # line 34: basic settings for auditd module - module: auditd resolve_ids: true failure_mode: silent backlog_limit: 8196 rate_limit: 0 include_raw_message: false include_warnings: false audit_rules: | ..... .....[root@dlp ~]# systemctl start auditbeat [root@dlp ~]# systemctl enable auditbeat
|
[3] | Make sure the data has been collected normally. |
# index list [root@dlp ~]# curl localhost:9200/_cat/indices?v health status index uuid pri rep docs.count docs.deleted store.size pri.store.size yellow open filebeat-6.2.1-2018.02.14 uzqg8... 3 1 30107 0 4mb 4mb yellow open sshd_fail-2018.02 ghhQe... 5 1 69 0 265.9kb 265.9kb yellow open packetbeat-6.2.1-2018.02.14 -O8vG... 3 1 8182 0 2.1mb 2.1mb green open .kibana sV0Ds... 1 0 412 0 497.1kb 497.1kb yellow open auditbeat-6.2.1-2018.02.14 aECFl... 3 1 1384 0 734.7kb 734.7kb yellow open test_index CIPjY... 5 1 1 0 6kb 6kb yellow open heartbeat-6.2.1-2018.02.14 29OqT... 1 1 206 0 126.6kb 126.6kb yellow open metricbeat-6.2.1-2018.02.14 OhrZT... 1 1 32561 0 5.9mb 5.9mb # document list on the index [root@dlp ~]# curl localhost:9200/auditbeat-6.2.1-2018.02.14/_search?pretty { "took" : 4, "timed_out" : false, "_shards" : { "total" : 3, "successful" : 3, "skipped" : 0, "failed" : 0 }, "hits" : { "total" : 1384, "max_score" : 1.0, "hits" : [ { "_index" : "auditbeat-6.2.1-2018.02.14", "_type" : "doc", ..... ..... |
[4] | If Kibana is running, it's possible to import data to sample Dashboards. |
[root@dlp ~]# auditbeat setup --dashboards Loaded dashboards |